home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
015
/
hpfilter.arc
/
HPFILTER.DOC
< prev
Wrap
Text File
|
1987-01-18
|
4KB
|
98 lines
HPFilter
Rip Toren
POB 674
Columbia MD 21045
12 Jan 1987
So... you just got the fancy HP LaserJet+ printer that will allow you
to publish your own version of whatever. You have just spent about 3
hours reading the operator's manual, as well as the technical
reference. And you still aren't sure what this hummer will do.
In short:
1) It will not print out the extended IBM PC character set. You get a
bunch of European characters that just don't convey the same
impact.
2) You can't seem to get anything that resembles BOLD printing.
3) And that compressed printing will only work in portrait (up and
down) and not in landscape (side to side) where it would be really
useful.
HPFilter can solve only the first two of those problems for you.
The concept is that HPFilter installs itself in the interrupt 17 chain,
so that it has a chance to look at each character as it is sent to the
printer.
If a code between 179 and 223 (these are the line drawing and block
characters) is seen, a substitute string is sent in its place. This
string is a graphic definition to the printer to create the desired
character as a set of individual line segments.
In the case of BOLDing, the character is printed a second time, with
the registration offset by 1/300th of an inch in both the vertical and
horizontal directions. This may be considered FATtening, rather than
bolding, but it's better than nothing.
<<INSTALLATION>>
Simply execute HPFilter from the command line. It will take up a bit
less than 4k bytes. If you want to disable HPFilter, simply run the
program again. Each invocation flips HPFilter on and off.
To activate the BOLDing, you will have to insert a code into your file
to turn it on and then off. To turn BOLDing on, send the codes
<ESC>+'G'. That is in hexadecimal <1B 47> or <27 71> in decimal. To
turn the BOLDING off, use <ESC>+'H' or <ESC>+'E'. The later code is a
reset to the LaserJet.
If by chance you leave HPFilter active, while printing to a printer
other than the HP LaserJet, expect a bunch of gibberish for those
graphic characters.
<<SOURCE>>
The source has been included so that you may add any additional
characters that you might want. In the definitions for the substitution
strings, you will see a number of periods (.). These are ingnored, and
not passed to the printer. They just make things easier to line up and
see what is going on in the commands. You may obviously delete them to
compact the size a bit. To rebuild the application,
>masm hpfilter,hpfilter;
>link hpfilter,hpfilter;
(you will get a STACK error - ignore)
>exe2bin hpfilter hpfilter.com
The lines that are drawn are 3/300th of an inch. The are laid out on a
grid of 30x50 pels. This is consistant with the examples in the HP
Tecnical Reference manual.
<<DISCLAIMER>>
This is the first assembly program that I have ever written in the
INTEL 80x8x family. It is oversized, and can be tightened up with
subroutine calls. But figuring out where the assembler and linker would
place things was too confusing. The basic structure was inspired by an
article and program by Jeff Garbers in the September 1984 issue of PC
Tech Journal. He said his program was a good basis for further work,
and he was correct. Thanx.
If you have any comments, or useful HP LaserJet utilities, I would love
to hear from you at the above address, or leave a message on Vince
Castelli's CHESAPEAKE BBS (301) 267 4930 addressed to RIP TOREN.